package com.ruoyi.meeting.domain;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 会议管理对象 sys_meeting
 * 
 * @author ruoyi
 * @date 2025-01-27
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("sys_meeting")
public class SysMeeting extends BaseEntity implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 会议ID */
    @TableId(value = "meeting_id", type = IdType.AUTO)
    private Long meetingId;

    /** 会议标题 */
    @Excel(name = "会议标题")
    private String meetingTitle;

    /** 会议类型（1例会 2专题 3临时） */
    @Excel(name = "会议类型", readConverterExp = "1=例会,2=专题,3=临时")
    private String meetingType;

    /** 会议室 */
    @Excel(name = "会议室")
    private String meetingRoom;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date meetingStart;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date meetingEnd;

    /** 主持人 */
    @Excel(name = "主持人")
    private String meetingHost;

    /** 记录人 */
    @Excel(name = "记录人")
    private String meetingRecorder;

    /** 会议内容 */
    @Excel(name = "会议内容")
    private String meetingContent;

    /** 会议议程 */
    @Excel(name = "会议议程")
    private String meetingAgenda;

    /** 会议状态（0未开始 1进行中 2已结束 3已取消） */
    @Excel(name = "会议状态", readConverterExp = "0=未开始,1=进行中,2=已结束,3=已取消")
    private String meetingStatus;

    /** 删除标志（0代表存在 2代表删除） */
    @TableLogic
    private String delFlag;

    public void setMeetingId(Long meetingId) 
    {
        this.meetingId = meetingId;
    }

    public Long getMeetingId() 
    {
        return meetingId;
    }

    public void setMeetingTitle(String meetingTitle) 
    {
        this.meetingTitle = meetingTitle;
    }

    public String getMeetingTitle() 
    {
        return meetingTitle;
    }

    public void setMeetingType(String meetingType) 
    {
        this.meetingType = meetingType;
    }

    public String getMeetingType() 
    {
        return meetingType;
    }

    public void setMeetingRoom(String meetingRoom) 
    {
        this.meetingRoom = meetingRoom;
    }

    public String getMeetingRoom() 
    {
        return meetingRoom;
    }

    public void setMeetingStart(Date meetingStart) 
    {
        this.meetingStart = meetingStart;
    }

    public Date getMeetingStart() 
    {
        return meetingStart;
    }

    public void setMeetingEnd(Date meetingEnd) 
    {
        this.meetingEnd = meetingEnd;
    }

    public Date getMeetingEnd() 
    {
        return meetingEnd;
    }

    public void setMeetingHost(String meetingHost) 
    {
        this.meetingHost = meetingHost;
    }

    public String getMeetingHost() 
    {
        return meetingHost;
    }

    public void setMeetingRecorder(String meetingRecorder) 
    {
        this.meetingRecorder = meetingRecorder;
    }

    public String getMeetingRecorder() 
    {
        return meetingRecorder;
    }

    public void setMeetingContent(String meetingContent) 
    {
        this.meetingContent = meetingContent;
    }

    public String getMeetingContent() 
    {
        return meetingContent;
    }

    public void setMeetingAgenda(String meetingAgenda) 
    {
        this.meetingAgenda = meetingAgenda;
    }

    public String getMeetingAgenda() 
    {
        return meetingAgenda;
    }

    public void setMeetingStatus(String meetingStatus) 
    {
        this.meetingStatus = meetingStatus;
    }

    public String getMeetingStatus() 
    {
        return meetingStatus;
    }

    public void setDelFlag(String delFlag) 
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("meetingId", getMeetingId())
            .append("meetingTitle", getMeetingTitle())
            .append("meetingType", getMeetingType())
            .append("meetingRoom", getMeetingRoom())
            .append("meetingStart", getMeetingStart())
            .append("meetingEnd", getMeetingEnd())
            .append("meetingHost", getMeetingHost())
            .append("meetingRecorder", getMeetingRecorder())
            .append("meetingContent", getMeetingContent())
            .append("meetingAgenda", getMeetingAgenda())
            .append("meetingStatus", getMeetingStatus())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
